{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在机器学习的算法中，经常会出现很多的符号和计算公式，那么对其有一个基本的认识是非常重要的。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数学符号"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 集合和区间"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\\mathbb{Z}$: 整数集：{...-2, -1, 0, 1, 2...}  \n",
    "$\\mathbb{N}$: 自然数集：{0，1， 2，3....}  \n",
    "$\\mathbb{N}^{+}$: 不包括零的自然数集:{1, 2,3...}  \n",
    "$\\mathbb{R}$:  实数集  \n",
    "$\\in$: 集合内元素符号.比如：`$\\in$A` 表示x是集合A中的一个元素  \n",
    "$\\notin$: 与上面相反，不是集合内的元素  \n",
    "$\\varnothing$: 空集或者null集  \n",
    "A $\\cup$ B:  A， B集合的并集  \n",
    "A $\\cap$ B:  A， B集合的交集  \n",
    "A $\\subseteq$: A是B的子集  \n",
    "A$\\bigtriangleup$B: 两个集合的对称差：只属于其中一个集合，而不属于另一个集合的元素组成的集合。例如：集合{1，2，3} 和集合{3，4}的对称差是{1, 2, 4}。  \n",
    "$\\left | A \\right |$: 集合A的基数(元素的个数)  \n",
    "$\\left(a，b  \\right)$: 从a到b的开区间，不包括a， b.  \n",
    "$\\left [ a, b \\right ]$: 从a到b的闭区间， 包括a,b.   \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 序列"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\\sum_{i=1}^{n}x_{i}$: 下标变量$x_{i}$的和，等于 $x_{1} + x_{2} + ... + x_{n}$   \n",
    "$\\prod_{i=1}^{n}x_{i}$: 下标变量$x_{i}$的积，等于 $x_{1} * x_{2} * ... * x_{n}$ "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 函数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$f:A \\rightarrow  B$:  表示函数f， 定义域A和值域B。  \n",
    "$\\left(g \\circ f \\right)\\left(x \\right)$:  两个函数g和f和组合形式： $g[f(x)]$  \n",
    "$f^{-1}(x)$: 函数f的逆， 如果$f^{-1}$表示y， 那么$f(y)=x$。   \n",
    "$|x|$:  x的绝对值， 注意与集合的区别   \n",
    "$log_{b},   log$:  底数为b的对数和自然对数(底数为e)  \n",
    "$n!$: n的阶乘  \n",
    "$\\binom{k}{n}$: 二项式系数(n选择k): $= \\frac{n!}{k!(n-k)!} (0\\leq k\\leq n)$  \n",
    "$arg  max f(x)$: 使f(x)尽可能的大的x值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 线性代数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$x$: 标量，小写的斜体\n",
    "$\\mathbf{x}$: 列向量(小写,粗体, n * 1的矩阵)  \n",
    "$\\mathbf{a} \\cdot \\mathbf{b}$: 两个向量的点积。 如果a和b都是n * 1的矩阵，也写作 $\\mathbf{a}^{\\boldsymbol{\\mathbf{T}}} \\mathbf{b}$, $=\\sum_{i=1}^{n}a_{i}b_{i}$  \n",
    "$\\mathbf{X}$:  m * n的矩阵，大写粗体  \n",
    "$\\mathbb{R}^{n}$: 坐标空间， 有n个长度的列向量表示。 $\\mathbf{x} = \\begin{bmatrix}x_{1}\\\\ x_{2}\\\\ ...\\\\ x_{n}\\end{bmatrix}$   \n",
    "$\\mathbf{x}^T$ : n*1向量的转置。 $\\mathbf{x}^{T} =\\begin{bmatrix} x_{1}&  x_{2}& ...& x_{n}\\end{bmatrix} =  \\begin{bmatrix}x_{1}\\\\ x_{2}\\\\ ...\\\\ x_{n}\\end{bmatrix}^{T}$   \n",
    "$\\left \\| \\mathbf{x} \\right \\|_{p}$: Lp norm，p-norm向量。    \n",
    "$\\left \\| \\mathbf{x} \\right \\|_{p} = (|x_{1}^{p}| + |x_{2}^{p}| + ... + |x_{n}^{p}|)^{1/p}$   \n",
    "$\\left \\| \\mathbf{x} \\right \\|_{\\infty }$: 最大norm， 向量绝对值的最大值. $=max|x_{i}|$。  \n",
    "$\\left \\| \\mathbf{x} \\right \\|_{2}$: 向量norm， l2norm。$=||\\mathbf{x}||_{2}$  \n",
    "\n",
    "  \n",
    "$A_{i,:}$: 矩阵的第i行  \n",
    "$A_{:,j}$: 矩阵的第j列  \n",
    "$A^{T}$: 矩阵的转置矩阵。 $A_{i, j}  \\rightarrow A_{T}^{j, i}$  \n",
    "$I_n$: n*n的单位矩阵。 $I_3 = \\begin{bmatrix}1 &0  &0 \\\\ 0& 1 & 0\\\\  0&0  &1 \\end{bmatrix}$  \n",
    "$A^{-1}$: A矩阵的逆矩阵, $A^{-1}A = AA^{-1} = I$  \n",
    "tr $A$: 矩阵的迹。 主对角的元素和(左上到右下)    \n",
    "det $A$: 矩阵A的行列式  \n",
    "diag$(a_1, a_2, ..., a_n)$： 对角矩阵，矩阵的对角线为a1, a2, a3..， 其他元素为0的矩阵。  \n",
    "$A\\odot B$: Hadamard乘积，矩阵对应元素的乘积  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 微积分"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\\underset{x\\to a}{\\lim{}}f(x)$: 当x趋于a时f (x)的极限    \n",
    "$\\underset{x\\to a-}{\\lim{}}f(x)$: 当x从左边趋于a时f (x)的极限   \n",
    "$\\underset{x\\to a+}{\\lim{}}f(x)$: 当x从右边趋于a时f (x)的极限  \n",
    "  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\\frac{\\mathrm{d} f}{\\mathrm{d} x}$: f函数的导数  \n",
    "$\\frac{\\mathrm{d^n} f}{\\mathrm{d} x^n}$: f函数的n阶导数  \n",
    "$\\frac{\\partial f}{\\partial x}$: 函数f(x, y..)对标量x的偏导数。\n",
    "\n",
    "$\\triangledown f$: 函数$f: \\mathbb{R}^n \\to \\mathbb{R}$的梯度， 分别是对每个变量的偏导数。  \n",
    "$\\triangledown f(x_1, x_2, ..., x_n) = \\begin{bmatrix}\\frac{\\partial f}{\\partial x_1}\\\\ \\frac{\\partial f}{\\partial x_2}\\\\ ... \\\\\\frac{\\partial f}{\\partial x_4}\\end{bmatrix}$  \n",
    "$\\triangle f$: 函数f 的laplacian的算子    \n",
    "$\\triangle f = \\sum_{i=1}^{n}\\frac{\\partial^2 f}{\\partial x^2}$  \n",
    "\n",
    "$\\int f(x)dx$: 函数f(F的导数)的不定积分。  \n",
    "$\\int_{a}^{b}f(x)dx$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 概率与统计"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$P(A\\cap B)$: 事件A和B共同发生的概率  \n",
    "$P(A\\cup B)$: 事件A或者B发生的概率  \n",
    "$P(A|B)$: 给定B条件，A发生的概率    \n",
    "$E(x),\\mu_X $: 随机变量X的期望值(平均值)， 对于离散变量X， $E(X)=\\sum_{i=1}^{\\infty}p_ix_i$。表示xi发生的概率pi  \n",
    "$\\bar{X}$: 样本数值数据的平均值  \n",
    "$var(X), \\sigma_x^2$: 数值数据的方差。$var(X)=E[(X-\\mu_X)^2] = E(X^2) - E(X)^2$  \n",
    "$s_X^2$: 样本数值数据的方差：$s_X^2 = \\frac{1}{n}\\sum_{i=1}^{n}(X_i- \\bar{X})^2$  \n",
    "$std(X), \\sigma_x$: 随机变量的标准差，方差的平方根  \n",
    "$s_X$: 样本标准差，样本$s_X^2$方差的平方根    \n",
    "\n",
    "  \n",
    "$cov(X, Y)$: 两个随机变量X和Y的协方差  $cov(X,Y) = E[(X-E(X))(Y-E(Y))] = E(XY)-E(X)E(Y)$  \n",
    "$s_{XY}$： 数值数据的样本协方差  $s_{XY} = \\frac{1}{n}\\sum_{i=1}^{n}(X_i-\\bar{X})(Y_i-\\bar{Y})$  \n",
    "$corr(X, Y)$: 两个随机变量X和Y的相关系数。 $=\\frac{cov(X, Y)}{\\sigma_x \\sigma_Y}$.  \n",
    "$H(X)$: 随机变量X的熵。  \n",
    "离散：$H(X)=-\\sum_xP(X=x)\\log_bP(X=x)$    \n",
    "连续： $H(x)=-\\int_{-\\infty}^{\\infty}f(x)\\log_bf(x)dx$    \n",
    "\n",
    "PMF: 离散随机变量的概率质量函数，$f(x)=P(X=x)$  \n",
    "CDF: 连续随机变量的累积分布函数, $F(x)=P(X\\leq x)$  \n",
    "PDF: 连续随机变量的概率密度函数: $P(X\\in [a,b]) = \\int_{a}^{b}f(x)dx$  \n",
    "\n",
    "X ~ D: 随机变量X的分布D。   \n",
    "$\\hat{\\theta}$: 参数的估计量(estimator)。   \n",
    "$N(x, \\mu, \\sigma^2)$: 随变量x的正态(高斯)分布，均值为$\\mu$， 方差为$\\sigma^2$。 常用的有$N(x, 0, 1)$.   \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数字"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$e$: 欧拉数，数学常数近似于2.71828。  \n",
    "$\\pi$: 'pi', 数值场数，近似于3.1415926.  \n",
    "$\\infty$: 无穷大符号  \n",
    "$1.234*10^5$: 科学计数法， 表示123,400 或者 1.234E05  \n",
    "$\\ll$: 小小于  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 近似"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$\\approx$: 大致相等。$e\\approx 2.71828$.  \n",
    "$f(x)\\sim g(x)$: 表示两个函数的比值接近1. 如果x很小， $\\lim_{x\\to 0}\\frac{f(x)}{g(x)}=1$; 如果x很大， $\\lim_{x\\to \\infty}\\frac{f(x)}{g(x)}=1$\n",
    "\n",
    "$f(x) \\propto g(x)$: 两个函数是成比例的  \n",
    "$T\\in O(n^2)$: 大O计数法：表示有$n^2$种算法；或者算法的复杂度为$n^2$。 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 逻辑"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$ \\Rightarrow $: implication 操作。比如$ A\\Rightarrow B$ 表示\"if A implies B\", “if A then B”, \"B only if A\"  \n",
    "$\\Leftrightarrow $: 相等操作符。 \"A if and only if B\" 或者 \"if A then B and if B then A\" \n",
    "\n",
    "$\\wedge$: 逻辑连接  and。  \n",
    "$\\vee$: or。   \n",
    "$\\forall $: 全称量词，for all。 比如$\\forall x \\in \\mathbb{R}, x > 1$:对于所有的x属于R，都有x>1.   \n",
    "$\\exists$: 存在量词，exists。 比如 $\\forall x \\in \\mathbb{A}, f(x)$:A集合中存在x, 是的f(x)为true。   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
